package com.hyt.it.ogt.kq.service.gov.roomdata.model.obt;

import com.google.common.collect.Lists;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * <?xml version="1.0" encoding="UTF-8"?>
<ExamData>
	<ExamInfo>  
       < AddTimeLimit> <!—加时分钟数，单位分钟
        <ExamCode/><!--考试编号，与考点系统中相同-->   
		<ExamName/>
		<!--考试名称-->  
        <ExamYear/>
		<!--考试年份-->
		<ExamMode/>
		<!--考试模式(1正考、2模考)-->
		<BeLateFor/>
		<!--允许迟到时间(单位分钟， 0为不允许迟到)-->
		<AheadCallback/>
		<!--允许提前交卷时间(单位分钟，0为不允许提前交卷)--> 
		<BreakTime />
		<!--允许整场考试中断的分钟数-->
		<AheadStartExam/>
		<!--允许提前开考时间(单位分钟，0为不允许提前开考)--> 
		<UndoPassword/>
		<!--解锁屏密码, 包含字母、数字、区分大小写 --> 
		<UploadDataOption/>
		<!--监考系统导出和上传的考试结果包中应包含： 1考生现场签到照片、2签到明细,格式：1,2，如果为空表示都不用上传--> 
		<UploadDataPeriod/><!--上传考试过程状态数据周期 -->
		<ProvinceNo/> <!--考点所属省号 -->
		<ProvinceName/>  <!--考点所属省份名称
		<CityNo/> <!--考点所属地市号 -->
        <CityName/><!--地市名称
		<CountyNo/><!--县区号 -->
		<CountyName><!--县区名称
		<ExamPlaceNo/>
		 <!--考点号-->
		 <ExamPlaceName/>
		 <!--考点名称-->
		 <ExamRoomNo/>
		 <!--考场号-->
		 <ExamRoomName/>
		 <!--考场名称-->
		 <SeatCount/>
		 <!--座位总数-->
		 <BackupSeatCount/>
		 <!--备用机数-->
		 <Position/>
		 <!--位置-->
		 <Shape/>
		 <!--座位形状-->
		 <LineCount/>
		 <!--列数--> 
	</ExamInfo>
	<StudentList>
		<Student>
			<StudentID/>
			<!-- 准考证号 -->
			<StudentName/>
			<!-- 考生姓名 -->
			<Sex/>
			<!-- 性别  0－未定义 1-男  2-女-->
			<ExamType/>
			<!-- 考试方式（1：电脑，2：可以用纸笔）-->	
<CardType/>
			<!—证件类型  1-身份证、2-军官证、3-港居民证、4-澳居民证、5-护照、6-台胞证-->			
			<IDCard/>
			<!--证件号码-->
<Company/>
			<!—工作单位-->
<Tel/>
			<!--联系方式-->
<Examtimes/>
		   <!--考试场次顺序号--,即批次，每一批，二批>
           <SubjectNo/>
           <!--科目编号-->
           <SubjectName/>
           <!--科目名称-->
<ProvinceNo/> <!—考生所属省号 -->
		   <CityNo/> <!--考生所属地市号 -->
		   <CountyNo/><!—考生所属县区号 -->
<Photo/>
           <!--照片相对路径名称
		</Student>
	</StudentList>
<SubjectModuleList>
    <Modules>
       <SubjectNo /><!--科目编号 -->
       <SubjectModuleNo /><!--科目模块编号-->
           <SubjectModuleName /><!--科目模块名称 -->
       <SubjectModuleTimeLength /><!--科目模块考试时长 -->
<SubjectModuleAheadCallback /><!--科目模块允许提前交卷时长 -->
<SubjectModuleSort /><!--模块前后排序，相对数值小的排前面-->
    </Modules>
</SubjectModuleList>
<SubjectList>
  <Subjects>
    <SubjectNo>1</SubjectNo>
<ExamMode>1</ExamMode> <!—1：统一作答 2-分开作答
<AheadSubmitTime/> <!—提前交卷时长，分钟。2016.4.6增加
<TotalTime/><!—科目总时长，2016.4.6增加--> 
<SubjectName/><!—科目名称,2016.4.13
  </Subjects>
</SubjectList>	<ExamTimesList>
		<ExamTimes>
		    <OrderID/>
		    <!--全国场次唯一ID -->
<ExamtimeID/>
			<!--考试场次顺序号 ，同examtimes-->
		    <Name/>
		    <!--考试时间名称 -->
		    <Date/>
		    <!-- 考试日期 -->
		    <StartTime/>
		    <!-- 开始时间 -->
		    <EndTime/>
		    <!-- 结束时间 -->
<PassWord/> <!--每场开考密码-->
	    </ExamTimes>
	</ExamTimesList>
	<SeatList>
	    <Seat>
	        <OrderID/>
	        <!—全国场次唯一ID -->
	        <SeatID/>
	        <!-- 座位ID -->
	        <StudentID/>
	        <!-- 准考证号 -->
	    </Seat>
	</SeatList>
</ExamData>
 * @author liuhh
 *
 */
@XStreamAlias("ExamData")
@Data
public class ExamData implements Serializable {
	private static final long serialVersionUID = 1L;

	@XStreamAsAttribute
	private String ver = "";
	@XStreamAsAttribute
	@XStreamAlias("sysver")
	private String sysVer = "";
	
	@XStreamAlias("ExamInfo")
	private ExamInfo examInfo;
	@XStreamAlias("StudentList")
	private List<ObtCandidate> candidateList = Lists.newArrayList();
	@XStreamAlias("SubjectList")
	private List<ObtSubject> subjectList = Lists.newArrayList();
	@XStreamAlias("ExamTimesList")
	private List<ExamTime> examTimesList = Lists.newArrayList();
	@XStreamAlias("SeatList")
	private List<Seat> seatList = Lists.newArrayList();
	@XStreamAlias("SubjectModuleList")
	private List<Module> subjectModuleList = Lists.newArrayList();

}
